.w-factor {
	
	#factor {
		margin: 12px 0;
		min-height: 800px;
	}
	
	table {
		width: 100%;
		div {
			margin: auto;
		}
	}
	
	.level-0 {
		width: 29%;
		>div {
			position: relative;
			&:before {
				content: '';
				position: absolute;
				width: 50%;
				height: 2px;
				background: #ebebeb;
				left: 50%;
				top: 50%;
				margin-top: -1px;
			}
		}
		span {
			display: block;
			background: #e56270;
			width: 170px;
			height: 170px;
			font-size: 18px;
			color: #fff;
			font-weight: bold;
			border-radius: 50%;
			text-align: center;
			line-height: 170px;
			margin: auto;
			position: relative;
		}
	}
	
	.level-x0 {
		>table {
			position: relative;
			&:before {
				content: '';
				display: block;
				width: 0;
				height: 100%;
				border-left: 2px solid #ebebeb;
				position: absolute;
			}
			&:first-child:before {
				height: 50%;
				top: 50%;
			}
			&.end-then:before {
				height: 50%;
			}
		}
	}
	.level-1 {
		width: 41%;
		>div {
			position: relative;
			&:before {
				content: '';
				width: 100%;
				height: 2px;
				overflow: hidden;
				position: absolute;
				left: 0;
				top: 50%;
				margin-top: -1px;
				background: #ebebeb;
			}
		}
		span {
			font-size: 16px;
			color: #fff;
			padding: 0 20px;
			display: block;
			margin: auto;
			background: #6fc4e9;
			width: 148px;
			border-radius: 5px;
			font-weight: bold;
			line-height: 48px;
			position: relative;
		}
	}
	.level-2 {
		display: block;
		font-size: 14px;
		line-height: 20px;
		padding: 5px 0
	}
	
	.level-x1 {
		padding: 14px 0;
	}
	.end-level {
		position: relative;
		padding: 7px 0 7px 20px;
		&:before {
			content: '';
			float: left;
			width: 18px;
			height: 100%;
			position: absolute;
			left: 0;
			margin: -9px 0 -9px -2px;
			border: 2px solid #ebebeb;
			border-right: 0;
		}
	}
	
}